function jQuery(selector) {
    // 1. 处理id选择器（如$("#id")）
    if (typeof selector === "string") {
        if (selector.charAt(0) === "#") {
            // 将DOM元素绑定为当前实例的属性
            domObj = document.getElementById(selector.substring(1));
            return new jQuery();
        }
    }

    // 2. 处理页面加载完成回调（如$(function(){...})）
    if (typeof selector === "function") {
        window.onload = selector;
    }

    // 3. html()方法：设置/获取innerHTML
    this.html = function (htmlStr) {
        domObj.innerHTML = htmlStr;
        }
    // 4. click()方法：绑定点击事件
    this.click = function (fun) {
        domObj.onclick = fun;
    };

    // 5. val()方法：设置/获取表单值
    this.val = function (v) {
        if (v === undefined) {
            return domObj.value;
        } else {
            domObj.value = v;
        }
    };

    // 6. blur()方法：绑定失焦事件
    this.blur = function (fun) {
        domObj.onblur = fun;
    };

    // 7. change()方法：绑定内容改变事件
    this.change = function (fun) {
        domObj.onchange = fun;
    };
}

// 简化调用别名（$ = jQuery）
$ = jQuery;

// 8. 静态方法：AJAX请求封装（$.ajax()）
jQuery.ajax = function (jsonArgs) {
    // 创建AJAX核心对象
    let xhr = new XMLHttpRequest();

    // 监听请求状态变化
    xhr.onreadystatechange = function () {
        // readyState=4：请求完成；status=200：响应成功
        if (xhr.readyState === 4 && xhr.status === 200) {
            try {
                // 解析后端返回的JSON（容错：若解析失败给出提示）
                let jsonObj = JSON.parse(xhr.responseText);
                // 调用前端传入的success回调
                jsonArgs.success(jsonObj);
            } catch (e) {
                console.error("JSON解析失败：", e);
                alert("后端返回数据格式错误！");
            }
        }
    };
    //如果传递过来的是POST请求
    if (jsonArgs.type.toUpperCase()=="POST"){
        //3.开启通道:传入请求方式 请求路径 请求是否支持异步
        xhr.open("POST",jsonArgs.url,jsonArgs.async)
        //设置 允许让表单提交
        xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
        //4.发送请求 POST的参数是要在send中发送
        xhr.send(jsonArgs.data)
    }
    if (jsonArgs.type.toUpperCase()=="GET"){
        //3.开启通道:传入请求方式 请求路径 请求是否支持异步
        //GET请求的方法体在url中设置
        xhr.open("GET",jsonArgs.url+"?"+jsonArgs.data,jsonArgs.async)
        xhr.send()
    }
}
